In many cases, it is desirable to provide software to computers after those computers have already been distributed and are in use. This can involve providing additional software or updating existing software.
Sometimes it is difficult and cumbersome to provide new software to existing equipment, commonly called an end point machine. The type of software that may be provided after sale of the equipment may include drivers to provide new services and user applications, middleware, device firmware, and basic input/output systems. The software may be provided by independent software vendors or by other third parties relative to the equipment vendor. Thus, these software vendors desire to provide the software to the end point machine users in the most efficient fashion possible.